﻿#pragma once
#include "AsGraphicsBasic3D.h"

namespace AsPrivate { class AsGraphicsHeightSurface3D; };

namespace AsGraphicsNamespace {

	class AS_GRAPHICS_EXPORT AsGraphicsHeightSurface3D : public QObject {
	public:
		AsGraphicsHeightSurface3D(QWidget* container);
		~AsGraphicsHeightSurface3D();

	private:
		AsPrivate::AsGraphicsHeightSurface3D* mp;

	public:
		void setHeightMapImage(QImage image);
		void setHeightMapImage(QString filename);

	public:
		void setTheme(Theme3D::Enum theme);
		void setGradient(Gradient3D::Enum gradient);
		void setGradient(const QLinearGradient& gr);
		void setXRange(int min = AutoAdjust, int max = AutoAdjust);
		void setYRange(int min = AutoAdjust, int max = AutoAdjust);
		void setZRange(int min = AutoAdjust, int max = AutoAdjust);

	};
	
	typedef AsGraphicsHeightSurface3D HeightSurface3D;
};


